/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dao;

import java.util.List;

import org.hibernate.Session;

import com.moteur.analysersite.alexa.UpstreamSites;

import model.Role;
import model.Site;
import model.User;
import model.alexa.Analyse;
import model.alexa.AudienceGeographique_M;
import model.alexa.Keyword_M;
import model.alexa.UpstreamSites_M;
import model.builtwith.AnalyseBuiltwith;
import model.builtwith.Categorie;
import model.builtwith.Thechnologie;
import model.header.AnalyseHeader;
import model.header.Header;
import model.performance.AnalysePerformance;
import model.seo.AnalyseSeo;

/**
 * 
 * @author mehdi
 */
public interface Idao {
	public void addUser(User user);

	public List<User> findAllUser();

	public User findUserByLogin(String login);

	public User findUserById(Long id);

	public void updateUser(User user);

	public void deleteUser(Long pk);
	
	public void deleteUser(String login);

	public List<Role> findALLRoll();

	public Role findRollbyId(Long pk);

	public void addSite(Site site);

	public void updateSite(Site site);

	public List<Site> findAllSite();

	public Site findSitebyId(Long pk);

	public void deleteSite(Long pk);

	public void ajouterAnalyse(Analyse analyse);

	public void ajouterAudiance(AudienceGeographique_M audiance);

	public void ajouterUpstremSite(UpstreamSites_M upstream);
	
	public void ajouterKeyword(Keyword_M keyword);

	public void ajouteranalysebuilth(AnalyseBuiltwith builth);

	public void ajouterCategorie(Categorie cat, Session session);

	public void ajoutertechnologie(Thechnologie tech, Session session);

	public void ajouteranalyseheader(AnalyseHeader analyse);

	public void ajouterHeader(Header head, Session session);

	public void ajouteranalysePerformence(AnalysePerformance analyse);
	
	public void ajouterReferencement(AnalyseSeo analyse);
}
